struct f
{
    struct _
    {
    typedef _ value;
      template< class x, class=void>
      struct app
      {
          struct _:  e::_::template app<x >::_
          {
          typedef typename e::_::template app<x >::_::value value;
          };
      };
    };
};